home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / libraries / svlib102d.lha / superview-lib_DEV / Programmers / Docs / SuperView_Ref_ENG.doc < prev    next >
Encoding:
Text File  |  1995-02-17  |  43.2 KB  |  1,761 lines

  1.  
  2.    $VER: SuperView_Ref_ENG.doc V10.1 (2.2.95)
  3.  
  4.    © 1994 by Andreas R. Kleinert. All rights reserved.
  5.  
  6.    - Feel free to translate this Doc-File into other languages. -
  7.  
  8.           Andreas R. Kleinert,
  9.           Grube Hohe Grethe 23,
  10.           D-57074 Siegen,
  11.           Germany.
  12.  
  13.     Phone:  +49-271-331859 (weekdays after 18.00h)
  14.             +49-271-332147 (weekdays after 18.00h)
  15.     EMail:  Fido             Andreas Kleinert 2:2457/435.10
  16.             Usenet/InterNet  Andreas_Kleinert@superview.ftn.sub.org
  17.  
  18.       If nothing else works, try one of these Fido-InterNet gateways:
  19.  
  20.             Andreas_Kleinert@p10.f435.n2457.z2.fido.sub.org (in Germany)
  21.             Andreas_Kleinert@p10.f435.n2457.z2.fidonet.org  (USA or other)
  22.  
  23.  
  24.    Please note the version-dependencies :
  25.  
  26.     superview.library      SVObjects      SVDrivers      SVOperators
  27.  
  28.     Version 1              -              -              -
  29.     Version 2              Version 1      -              -
  30.     Version 3-8            Version 1,2    Version 1      -
  31.     Version 9              Version 1,2    Version 1      Version 1
  32.  
  33.    Request at least :  V2+    for SVObjects
  34.                        V3+    for SVDrivers
  35.                        V4+    for bug-fixed ClipBoard-Support
  36.                               with the supplied SVObjects
  37.                        V5+    for bug-fixed GfxBuffer-Functions
  38.                        V6+    for working GfxBuffer-Writing
  39.                               with the supplied SVObjects
  40.                        V7+    for adding/removing single SVObjects/SVDrivers
  41.                        V8+    for filetype recognition without loading
  42.                        V9+    for SVOperator functions
  43.                        V10+   added handling of "foreign" GfxBuffers
  44.  
  45.  
  46.    Here is a listing of all currently available functions of the
  47.    superview.library in an Autodoc-like style of description :
  48.  
  49.         SVL_AllocHandle            ; since Version 1
  50.         SVL_FreeHandle
  51.         SVL_CloseDisplay
  52.         SVL_FreeResources
  53.         SVL_SuperView
  54.         SVL_SuperWrite
  55.         SVL_InitHandleAsDOS
  56.         SVL_InitHandleAsClip
  57.         SVL_SetWriteType
  58.         SVL_SetWindowIDCMP
  59.         SVL_SetWindowFlags
  60.         SVL_SetScreenType
  61.         SVL_GetWindowAddress
  62.         SVL_GetScreenAddress
  63.         SVL_GetErrorString
  64.         SVL_SetWriteScreen
  65.         SVL_SetWriteName
  66.         SVL_FileInfoRequest
  67.                    ; no functions added in Version 2
  68.         SVL_GetGlobalDriver        ; since Version 3
  69.         SVL_SetGlobalDriver
  70.         SVL_ReadToGfxBuffer
  71.         SVL_GetGfxBuffer
  72.         SVL_SetGfxBuffer
  73.         SVL_DisplayGfxBuffer
  74.                    ; no functions added in Version 4
  75.                    ; no functions added in Version 5
  76.         SVL_GetSVObjectList        ; since Version 6
  77.         SVL_GetSVDriverList
  78.         SVL_FreeSVObjectList
  79.         SVL_FreeSVDriverList
  80.         SVL_RemoveSVObject         ; since Version 7
  81.         SVL_RemoveSVDriver
  82.         SVL_AddSVObject
  83.         SVL_AddSVDriver
  84.         SVL_GetFileType            ; since Version 8
  85.         SVL_DoOperation            ; since Version 9
  86.         SVL_GetSVOperatorList
  87.         SVL_FreeSVOperatorList
  88.         SVL_RemoveSVOperator
  89.         SVL_AddSVOperator
  90.                    ; no functions added in Version 10
  91.  
  92. -----------------------------------------------------------------------------
  93.    Functions available since Version 1 - 2 :
  94. -----------------------------------------------------------------------------
  95.  
  96.    NAME
  97.         SVL_AllocHandle
  98.  
  99.    SYNOPSIS
  100.  
  101.         APTR SVL_AllocHandle(APTR future)
  102.         D0   -$1e            A1
  103.  
  104.    FUNCTION
  105.  
  106.         Allocates a handle for accessing a Graphic via SVObjects.
  107.  
  108.    INPUT(S)
  109.  
  110.         future - always NULL yet
  111.  
  112.    RESULT
  113.  
  114.         NULL or a pointer to a ready-to-use handle.
  115.  
  116.    SINCE
  117.  
  118.         ... version 1 of the superview.library.
  119.  
  120.    SEE ALSO
  121.  
  122.         SVL_FreeResources, SVL_FreeHandle
  123.  
  124. -----------------------------------------------------------------------------
  125.  
  126.    NAME
  127.         SVL_FreeHandle
  128.  
  129.    SYNOPSIS
  130.  
  131.         VOID SVL_FreeHandle(APTR handle)
  132.         D0   -$24           A1
  133.  
  134.    FUNCTION
  135.  
  136.        Stops showing, frees all Resources and delocates a Handle, which has
  137.        been allocated with SVL_AllocHandle before.
  138.  
  139.  
  140.        For programmers of SVObjects :
  141.  
  142.        Note, that this functions calls
  143.  
  144.           SVL_CloseDisplay(SVHandle);
  145.           SVL_FreeResources(SVHandle);
  146.  
  147.        for internal SVObjects and
  148.  
  149.           SVO_FreeHandle(SVHandle->ah_SVHandle);
  150.  
  151.           CloseLibrary((APTR) SVObjectBase);
  152.  
  153.        for external SVObjects.
  154.        So do not forget to do the SVO_CloseDisplay() and SVO_FreeResources()
  155.        calls inside SVO_FreeHandle().
  156.        Otherwise memory might be lost.
  157.  
  158.    INPUT(S)
  159.  
  160.         handle - a valid handle
  161.  
  162.    BUGS
  163.  
  164.         This function was buggy for external SVObjects (never closed, memory
  165.         loss) upto V2.4.
  166.  
  167.    SINCE
  168.  
  169.         ... version 1 of the superview.library.
  170.  
  171.    SEE ALSO
  172.  
  173.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeResources
  174.  
  175. -----------------------------------------------------------------------------
  176.  
  177.    NAME
  178.         SVL_CloseDisplay
  179.  
  180.    SYNOPSIS
  181.  
  182.         VOID SVL_CloseDisplay(APTR handle)
  183.         D0   -$2a             A1
  184.  
  185.    FUNCTION
  186.  
  187.         Stops showing the Graphic, indentified by the handle.
  188.         The Display-Screen is closed, but no Resources are given free.
  189.  
  190.    INPUT(S)
  191.  
  192.         handle - a valid handle
  193.  
  194.    SINCE
  195.  
  196.         ... version 1 of the superview.library.
  197.  
  198.    SEE ALSO
  199.  
  200.         SVL_FreeResources, SVL_FreeHandle
  201.  
  202. -----------------------------------------------------------------------------
  203.  
  204.    NAME
  205.         SVL_FreeResources
  206.  
  207.    SYNOPSIS
  208.  
  209.         VOID SVL_FreeResources(APTR handle)
  210.         D0   -$30              A1
  211.  
  212.    FUNCTION
  213.  
  214.         Frees all resources belonging to the specific Graphic,
  215.         indentified by the handle, which are not needed to just show it.
  216.         The Display will not be closed.
  217.  
  218.         Note, that SVL_FileInfoRequest() will no longer work, then
  219.         ("No file loaded" or similar request appears).
  220.  
  221.    INPUT(S)
  222.  
  223.         handle - a valid handle
  224.  
  225.    SINCE
  226.  
  227.         ... version 1 of the superview.library.
  228.  
  229.    SEE ALSO
  230.  
  231.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  232.  
  233. -----------------------------------------------------------------------------
  234.  
  235.    NAME
  236.         SVL_SuperView
  237.  
  238.    SYNOPSIS
  239.  
  240.         ULONG SVL_SuperView(APTR handle, char *filename)
  241.         D0    -$36          A1           A2
  242.  
  243.    FUNCTION
  244.  
  245.         Loads and shows the Graphic described by FileName.
  246.         The handle is initialized and the fitting SVObject is opened
  247.         and accessed for showing the Graphic.
  248.  
  249.         Showing can be stopped either via full delocation of the handle
  250.         or via Closing the Display with SVL_CloseDisplay.
  251.  
  252.    INPUT(S)
  253.  
  254.         handle   - a valid handle
  255.         filename - a valid AmigaDOS FilePath and -Name
  256.  
  257.    RESULT
  258.  
  259.         NULL or an adequate SVERR-Errorcode.
  260.  
  261.    SINCE
  262.  
  263.         ... version 1 of the superview.library.
  264.  
  265.    SEE ALSO
  266.  
  267.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  268.  
  269. -----------------------------------------------------------------------------
  270.  
  271.    NAME
  272.         SVL_SuperWrite
  273.  
  274.    SYNOPSIS
  275.  
  276.         ULONG SVL_SuperWrite(APTR handle)
  277.         D0    -$3c           A1
  278.  
  279.    FUNCTION
  280.  
  281.         Before Version 3 a Graphic had to be loaded AND showed via
  282.         SVL_SuperView : No separate reading and showing calls were done.
  283.         For writing - that means : converting - a Graphic, you at first
  284.         have to display, then to save it. Use the following order :
  285.  
  286.         (But check the "result" value AFTER EACH function call, like this
  287.          has been done in the example SourceCodes ...)
  288.  
  289.         source_handle = SVL_AllocHandle(N);
  290.         /* result     = SVL_InitHandleAsDOS(source_handle, N); */ /* default */
  291.         result        = SVL_SetWindowIDCMP(source_handle,
  292.                                     IDCMP_MOUSEBUTTONS | IDCMP_VANILLAKEY, N)))
  293.         result        = SVL_SetScreenType(source_handle, CUSTOMSCREEN, N)))
  294.         result        = SVL_SuperView(source_handle, source_filename)))
  295.         result        = SVL_GetScreenAddress(source_handle, &sv_screen, N)))
  296.         result        = SVL_GetWindowAddress(source_handle, &sv_window, N)))
  297.  
  298.         dest_handle   = SVL_AllocHandle(N);
  299.         /* result     = SVL_InitHandleAsDOS(dest_handle, N); */ /* default */
  300.         result        = SVL_SetWriteType(dest_handle, dest_type, N)))
  301.         result        = SVL_SetWriteName(dest_handle, dest_filename, N)))
  302.         result        = SVL_SetWriteScreen(dest_handle, sv_screen, N)))
  303.         result        = SVL_SuperWrite(dest_handle);
  304.         SVL_FreeHandle(dest_handle);
  305.  
  306.         SVL_FreeHandle(source_handle);
  307.  
  308.  
  309.         Since Version 3 it is also possible to save the contents of
  310.         SV_GfxBuffers, so that not necessarily a Screen has to be the
  311.         source for writing to Disk/ClipBoard (or to whatever).
  312.         Not all SVObjects may necessarily support this (return-code
  313.         becomes SVERR_ACTION_NOT_SUPPORTED).
  314.         But since Version 6 all of the supplied SVObjects (those which come
  315.         with superview.library and contain Write-Support) allow this.
  316.         So, if you request at least V6+, the likelihood will be with you ...
  317.  
  318.         All available values for dest_type can be found in the specific
  319.         SVObject-List in SuperViewBase.
  320.         The values WILL change with every re-initialization of
  321.         superview.library, so update them with every new opening
  322.         (read them from the SVObject-List inside SuperViewBase or use the
  323.          new functions, which have been introduced with V6).
  324.         Only ILBM.svobject and ACBM.svobject (and the internal Datatype-
  325.         svobject, which cannot be used for saving, anyway) keep the same
  326.         values for compatibility reasons, but since two of these are now
  327.         external you might not be sure, if they are available
  328.         (which means : actually in "LIBS:svobjects") or not ...
  329.  
  330.    INPUT(S)
  331.  
  332.         handle        - a valid handle        (used for Write Access)
  333.  
  334.    RESULT
  335.  
  336.         NULL or an adequate SVERR-Errorcode.
  337.  
  338.    SINCE
  339.  
  340.         ... version 1 of the superview.library.
  341.  
  342.    SEE ALSO
  343.  
  344.  
  345.  
  346.         SVL_AllocHandle, SVL_FreeHandle
  347.  
  348. -----------------------------------------------------------------------------
  349.  
  350.    NAME
  351.         SVL_InitHandleAsDOS
  352.  
  353.    SYNOPSIS
  354.  
  355.         ULONG SVL_InitHandleAsDOS(APTR handle, APTR future)
  356.         D0    -$42                A1           A2
  357.  
  358.    FUNCTION
  359.  
  360.         Initializes a Handle for AmigaDOS access, so that the given
  361.         AmigaDOS FileNames are used.
  362.         Another possibility is sometimes to initialize Handles
  363.         for ClipBoard Access (depending on the specific SVObject,
  364.         e.g. IFF-ILBM).
  365.  
  366.    INPUT(S)
  367.  
  368.         handle - a valid handle
  369.         future - always NULL yet
  370.  
  371.    RESULT
  372.  
  373.         NULL or an adequate SVERR-Errorcode.
  374.  
  375.    BUGS
  376.  
  377.         During V2.4 upto V3.8 this was done automatically ALWAYS.
  378.         This was fixed in V4.1
  379.         See BUGS under SVL_InitHandleAsClip.
  380.  
  381.    SINCE
  382.  
  383.         ... version 1 of the superview.library.
  384.  
  385.    SEE ALSO
  386.  
  387.         SVL_InitHandleAsClip
  388.  
  389. -----------------------------------------------------------------------------
  390.  
  391.    NAME
  392.         SVL_InitHandleAsClip
  393.  
  394.    SYNOPSIS
  395.  
  396.         ULONG SVL_InitHandleAsClip(APTR handle, APTR future)
  397.         D0    -$48                 A1           A2
  398.  
  399.    FUNCTION
  400.  
  401.         Initializes a Handle for ClipBoard access, so that the (possibly)
  402.         given AmigaDOS FileNames are ignored.
  403.         The nearly always used possibility is to initialize Handles
  404.         for AmigaDOS Access (supported by ALL SVObjects).
  405.  
  406.    INPUT(S)
  407.  
  408.         handle - a valid handle
  409.         future - always NULL yet
  410.  
  411.    RESULT
  412.  
  413.         NULL or an adequate SVERR-Errorcode.
  414.  
  415.    BUGS
  416.  
  417.         From 2.4 to 3.8 this function-call was useless, since
  418.         superview.library blocked all medias other than
  419.         AKO_MEDIUM_DISK for external SVObjects :
  420.         For reading calls, this resulted in a "file not found" message
  421.         from superview.library, for writing calls, this resulted in an
  422.         empty filename string, which caused the SVObject to reject the
  423.         disk access (other accesses were not set correctly).
  424.         This was fixed in 4.1, by using the SVO_SetAccessMode() function
  425.         with the right parameters now and by using the "future" parameter
  426.         of SVO_CheckFileType() - only when using other media than
  427.         AKO_MEDIUM_DISK - as a pointer to an additional SVOCheckFileInfo
  428.         structure now.
  429.         This is 100% compatible, since superview.library has always set
  430.         this value to NULL, so that older SVObjects will simply ignore
  431.         this pointer and newer versions will only interpret it, if it's
  432.         not NULL.
  433.  
  434.    SINCE
  435.  
  436.         ... version 1 of the superview.library. (request V4+)
  437.  
  438.    SEE ALSO
  439.  
  440.         SVL_InitHandleAsDOS
  441.  
  442. -----------------------------------------------------------------------------
  443.  
  444.    NAME
  445.         SVL_SetWriteType
  446.  
  447.    SYNOPSIS
  448.  
  449.         ULONG SVL_SetWriteType(APTR handle, ULONG write_type, APTR future)
  450.         D0    -$4e             A1           A2                A3
  451.  
  452.    FUNCTION
  453.  
  454.         Sets the write_type for a SVL_SuperWrite() call.
  455.         See description there and example SourceCodes for more and
  456.         detailed information.
  457.  
  458.    INPUT(S)
  459.  
  460.         handle     - a valid handle
  461.         write_type - a valid temporary SubTypeCode from the SVObject-List
  462.         future     - always NULL yet
  463.  
  464.    RESULT
  465.  
  466.         NULL or an adequate SVERR-Errorcode.
  467.  
  468.    SINCE
  469.  
  470.         ... version 1 of the superview.library.
  471.  
  472.    SEE ALSO
  473.  
  474.         SVL_SuperWrite
  475.  
  476. -----------------------------------------------------------------------------
  477.  
  478.    NAME
  479.         SVL_SetWindowIDCMP
  480.  
  481.    SYNOPSIS
  482.  
  483.         ULONG SVL_SetWindowIDCMP(APTR handle, ULONG idcmp, APTR future)
  484.         D0    -$54               A1           A2           A3
  485.  
  486.    FUNCTION
  487.  
  488.         Sets the default IDCMP-Flags for a SVL_SuperView() call.
  489.         While displaying, the Address of the Window can be get via the
  490.         SVL_GetWindowAddress() function.
  491.         See description there and example SourceCodes for more and
  492.         detailed information.
  493.  
  494.    INPUT(S)
  495.  
  496.         handle - a valid handle
  497.         idcmp  - a valid number of IDCMP-Flags
  498.         future - always NULL yet
  499.  
  500.    RESULT
  501.  
  502.         NULL or an adequate SVERR-Errorcode.
  503.  
  504.    SINCE
  505.  
  506.         ... version 1 of the superview.library.
  507.  
  508.    SEE ALSO
  509.  
  510.         SVL_SuperView
  511.  
  512. -----------------------------------------------------------------------------
  513.  
  514.    NAME
  515.         SVL_SetWindowFlags
  516.  
  517.    SYNOPSIS
  518.  
  519.         ULONG SVL_SetWindowFlags(APTR handle, ULONG flags, APTR future)
  520.         D0    -$5a               A1           A2           A3
  521.  
  522.    FUNCTION
  523.  
  524.         Sets the default Window-Flags for a SVL_SuperView() call.
  525.         While displaying, the Address of the Window can be get via the
  526.         SVL_GetWindowAddress() function.
  527.         See description there and example SourceCodes for more and
  528.         detailed information.
  529.  
  530.    INPUT(S)
  531.  
  532.         handle - a valid handle
  533.         flags  - a valid number of Window-Flags
  534.         future - always NULL yet
  535.  
  536.    RESULT
  537.  
  538.         NULL or an adequate SVERR-Errorcode.
  539.  
  540.    SINCE
  541.  
  542.         ... version 1 of the superview.library.
  543.  
  544.    SEE ALSO
  545.  
  546.         SVL_SuperView
  547.  
  548. -----------------------------------------------------------------------------
  549.  
  550.    NAME
  551.         SVL_SetScreenType
  552.  
  553.    SYNOPSIS
  554.  
  555.         ULONG SVL_SetScreenType(APTR handle, ULONG type, APTR future)
  556.         D0    -$60              A1           A2          A3
  557.  
  558.    FUNCTION
  559.  
  560.         Sets the default Screen-Type for a SVL_SuperView() call.
  561.         While displaying, the Address of the Screen can be get via the
  562.         SVL_GetScreenAddress() function.
  563.         See description there and example SourceCodes for more and
  564.         detailed information.
  565.  
  566.    INPUT(S)
  567.  
  568.         handle - a valid handle
  569.         type   - a valid ScreenType value (e.g. CUSTOMSCREEN)
  570.         future - always NULL yet
  571.  
  572.    RESULT
  573.  
  574.         NULL or an adequate SVERR-Errorcode.
  575.  
  576.    SINCE
  577.  
  578.         ... version 1 of the superview.library.
  579.  
  580.    SEE ALSO
  581.  
  582.         SVL_SuperView
  583.  
  584. -----------------------------------------------------------------------------
  585.  
  586.    NAME
  587.         SVL_GetWindowAddress
  588.  
  589.    SYNOPSIS
  590.  
  591.         ULONG SVL_GetWindowAddress(APTR handle, struct Window **window,
  592.         D0    -$66                 A1           A2
  593.  
  594.                                    APTR future)
  595.                                    A3
  596.  
  597.    FUNCTION
  598.  
  599.         While displaying, the Address of the DisplayWindow can be get
  600.         via this function.
  601.         See description there and example SourceCodes for more and
  602.         detailed information.
  603.  
  604.    INPUT(S)
  605.  
  606.         handle - a valid handle
  607.         window - a valid address of a Window-Pointer
  608.         future - always NULL yet
  609.  
  610.    RESULT
  611.  
  612.         NULL or an adequate SVERR-Errorcode.
  613.  
  614.    SINCE
  615.  
  616.         ... version 1 of the superview.library.
  617.  
  618.    SEE ALSO
  619.  
  620.         SVL_SuperWrite
  621.  
  622. -----------------------------------------------------------------------------
  623.  
  624.    NAME
  625.         SVL_GetScreenAddress
  626.  
  627.    SYNOPSIS
  628.  
  629.         ULONG SVL_GetScreenAddress(APTR handle, struct Screen **screen,
  630.         D0    -$66                 A1           A2
  631.  
  632.                                    APTR future)
  633.                                    A3
  634.  
  635.    FUNCTION
  636.  
  637.         While displaying, the Address of the DisplayScreen can be get
  638.         via this function.
  639.         See description there and example SourceCodes for more and
  640.         detailed information.
  641.  
  642.    INPUT(S)
  643.  
  644.         handle - a valid handle
  645.         screen - a valid address of a Screen-Pointer
  646.         future - always NULL yet
  647.  
  648.    RESULT
  649.  
  650.         NULL or an adequate SVERR-Errorcode.
  651.  
  652.    SINCE
  653.  
  654.         ... version 1 of the superview.library.
  655.  
  656.    SEE ALSO
  657.  
  658.         SVL_SuperWrite
  659.  
  660. -----------------------------------------------------------------------------
  661.  
  662.    NAME
  663.         SVL_GetErrorString
  664.  
  665.    SYNOPSIS
  666.  
  667.         char * SVL_GetErrorString(ULONG error_code)
  668.         D0    -$72                A1
  669.  
  670.    FUNCTION
  671.  
  672.         Returns the Error Message for a specific Error Code, returned
  673.         by any function of the superview.library.
  674.  
  675.    INPUT(S)
  676.  
  677.         error_code - any SVERR Error Code
  678.  
  679.    RESULT
  680.  
  681.         read-only pointer to a SVERR Error String
  682.  
  683.    SINCE
  684.  
  685.         ... version 1 of the superview.library.
  686.  
  687.    SEE ALSO
  688.  
  689.         -
  690.  
  691. -----------------------------------------------------------------------------
  692.  
  693.    NAME
  694.         SVL_SetWriteScreen
  695.  
  696.    SYNOPSIS
  697.  
  698.         ULONG SVL_SetWriteScreen(APTR handle, struct Screen *screen,
  699.         D0    -$78               A1           A2
  700.  
  701.                                  APTR future)
  702.                                  A3
  703.  
  704.    FUNCTION
  705.  
  706.         Sets the Source Screen for a SVL_SuperWrite() call.
  707.         See description there and example SourceCodes for more and
  708.         detailed information.
  709.  
  710.         This will overwrite a previously done SVL_SetGfxBuffer() call.
  711.  
  712.    INPUT(S)
  713.  
  714.         handle - a valid handle
  715.         screen - a valid pointer to an opened Screen
  716.         future - always NULL yet
  717.  
  718.    RESULT
  719.  
  720.         NULL or an adequate SVERR-Errorcode.
  721.  
  722.    SINCE
  723.  
  724.         ... version 1 of the superview.library.
  725.  
  726.    SEE ALSO
  727.  
  728.         SVL_SuperWrite
  729.  
  730. -----------------------------------------------------------------------------
  731.  
  732.    NAME
  733.         SVL_SetWriteName
  734.  
  735.    SYNOPSIS
  736.  
  737.         ULONG SVL_SetWriteName(APTR handle, ULONG write_name, APTR future)
  738.         D0    -$7e             A1           A2                A3
  739.  
  740.    FUNCTION
  741.  
  742.         Sets the write_name for a SVL_SuperWrite() call.
  743.         See description there and example SourceCodes for more and
  744.         detailed information.
  745.  
  746.    INPUT(S)
  747.  
  748.         handle     - a valid handle
  749.         write_name - a valid AmigaDOS FilePath and -Name description
  750.         future     - always NULL yet
  751.  
  752.  
  753.    RESULT
  754.  
  755.         NULL or an adequate SVERR-Errorcode.
  756.  
  757.    SINCE
  758.  
  759.         ... version 1 of the superview.library.
  760.  
  761.    SEE ALSO
  762.  
  763.         SVL_SuperWrite
  764.  
  765. -----------------------------------------------------------------------------
  766.  
  767.    NAME
  768.         SVL_FileInfoRequest
  769.  
  770.    SYNOPSIS
  771.  
  772.         ULONG SVL_FileInfoRequest(APTR handle, struct Window *window,
  773.         D0    -$84                A1           A2
  774.  
  775.                                   APTR future)
  776.                                   A3
  777.  
  778.    FUNCTION
  779.  
  780.         Pops up an Info-Requester with more or less detailed information
  781.         on the currently loaded Graphic.
  782.         A window pointer may be given to select the place to pop it up.
  783.  
  784.         Note, that this function will fail, if you already called
  785.         SVL_FreeResources() (might result in a "No file loaded" message) !
  786.  
  787.    INPUT(S)
  788.  
  789.         handle - a valid handle
  790.         window - a valid Window Pointer or NULL
  791.         future - always NULL yet
  792.  
  793.    RESULT
  794.  
  795.         NULL or an adequate SVERR-Errorcode.
  796.  
  797.    BUGS
  798.  
  799.         None known, but :
  800.         For non-internal SVObjects SVO_FileInfoRequest() is called, thus
  801.         if this one is buggy, ...
  802.  
  803.         The Easy-Requester (or whatever else it is) will usually be attached
  804.         to IntuitionBase->ActiveWindow, if window is NULL.
  805.         This may cause problems sometimes, so always specify a WindowPtr,
  806.         if possible !
  807.  
  808.    SINCE
  809.  
  810.         ... version 1 of the superview.library.
  811.  
  812.    SEE ALSO
  813.  
  814.         -
  815.  
  816. -----------------------------------------------------------------------------
  817.    Functions added with Version 3 - 5 :
  818. -----------------------------------------------------------------------------
  819.  
  820.    NAME
  821.         SVL_GetGlobalDriver
  822.  
  823.    SYNOPSIS
  824.  
  825.         ULONG SVL_GetGlobalDriver(struct SVD_DriverNode **driver,
  826.         D0    -$8a                A1
  827.  
  828.                                   ULONG future)
  829.                                   A2
  830.  
  831.    FUNCTION
  832.  
  833.         Gets the Global Default ScreenDriver (SVDriver) from the
  834.         specific field of SuperViewBase.
  835.  
  836.         Always use this function. Do not access SuperViewBase directly !
  837.  
  838.    INPUT(S)
  839.  
  840.         driver - a pointer to a SVD_DriverNode pointer
  841.         future - always NULL yet
  842.  
  843.  
  844.    RESULT
  845.  
  846.         NULL or an adequate SVERR-Errorcode.
  847.  
  848.    SINCE
  849.  
  850.         ... version 3 of the superview.library.
  851.  
  852.    SEE ALSO
  853.  
  854.         SVL_SetGlobalDriver()
  855.  
  856. -----------------------------------------------------------------------------
  857.  
  858.    NAME
  859.         SVL_SetGlobalDriver
  860.  
  861.    SYNOPSIS
  862.  
  863.         ULONG SVL_SetGlobalDriver(struct SVD_DriverNode *driver,
  864.         D0    -$90                A1
  865.  
  866.                                   ULONG future)
  867.                                   A2
  868.  
  869.    FUNCTION
  870.  
  871.         Sets a new Global Default ScreenDriver (SVDriver) in the
  872.         specific field of SuperViewBase.
  873.  
  874.         Always use this function. Do not access SuperViewBase directly !
  875.  
  876.    INPUT(S)
  877.  
  878.         driver - a pointer to a SVD_DriverNode
  879.         future - always NULL yet
  880.  
  881.    RESULT
  882.  
  883.         NULL or an adequate SVERR-Errorcode.
  884.  
  885.    SINCE
  886.  
  887.         ... version 3 of the superview.library.
  888.  
  889.    SEE ALSO
  890.  
  891.         SVL_GetGlobalDriver()
  892.  
  893. -----------------------------------------------------------------------------
  894.  
  895.    NAME
  896.         SVL_ReadToGfxBuffer
  897.  
  898.    SYNOPSIS
  899.  
  900.         ULONG SVL_ReadToGfxBuffer(APTR handle, char *filename)
  901.         D0    -$96                A1           A2
  902.  
  903.    FUNCTION
  904.  
  905.         Reads the graphic file - specified with filename - into
  906.         a SV_GfxBuffer structure.
  907.  
  908.         Access to this structure can be managed via SVL_GetGfxBuffer().
  909.  
  910.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  911.         has the same effect as a call to SVL_SuperView().
  912.         But note, that GfxBuffer-functions only work with Version 2
  913.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  914.         Internally, the result is the same, anyway.
  915.  
  916.    INPUT(S)
  917.  
  918.         handle   - a valid handle
  919.         filename - a valid AmigaDOS FilePath and -Name
  920.  
  921.    RESULT
  922.  
  923.         NULL or an adequate SVERR-Errorcode.
  924.  
  925.    BUGS
  926.  
  927.         This call was broken from V3-4 !
  928.  
  929.    SINCE
  930.  
  931.         ... version 3 of the superview.library. (request V5+)
  932.  
  933.    SEE ALSO
  934.  
  935.         SVL_GetGfxBuffer(), SVL_DisplayGfxBuffer()
  936.  
  937. -----------------------------------------------------------------------------
  938.  
  939.    NAME
  940.         SVL_GetGfxBuffer
  941.  
  942.    SYNOPSIS
  943.  
  944.         ULONG SVL_GetGfxBuffer(APTR handle, struct SV_GfxBuffer **buffer,
  945.         D0    -$9c             A1           A2
  946.  
  947.                                ULONG future)
  948.                                A3
  949.  
  950.  
  951.    FUNCTION
  952.  
  953.         For READ accessing the SV_GfxBuffer structure, which has been
  954.         created with SVL_ReadGfxBuffer() or SVL_DoOperation() before.
  955.  
  956.         Do not change, write to or free this structure by hand.
  957.         Nevertheless you may create your own structures.
  958.  
  959.    INPUT(S)
  960.  
  961.         handle - a valid handle
  962.         buffer - a pointer to a valid SV_GfxBuffer pointer
  963.         future - always NULL yet
  964.  
  965.  
  966.    RESULT
  967.  
  968.         NULL or an adequate SVERR-Errorcode.
  969.  
  970.    BUGS
  971.  
  972.         This call was broken from V3-4 !
  973.  
  974.    SINCE
  975.  
  976.         ... version 3 of the superview.library. (request V5+)
  977.  
  978.    SEE ALSO
  979.  
  980.         SVL_ReadGfxBuffer(), SVL_DisplayGfxBuffer()
  981.  
  982. -----------------------------------------------------------------------------
  983.  
  984.    NAME
  985.         SVL_SetGfxBuffer
  986.  
  987.    SYNOPSIS
  988.  
  989.         ULONG SVL_SetGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  990.         D0    -$a2             A1           A2
  991.  
  992.                                ULONG future)
  993.                                A3
  994.  
  995.    FUNCTION
  996.  
  997.         This function initializes a WRITE handle with any SV_GfxBuffer.
  998.  
  999.         The SV_GfxBuffer will only be used for read-only purposes and
  1000.         is usually not be touched in any way (if it will be modified
  1001.         during the operation, the changes will be undone after completion).
  1002.  
  1003.         The buffer won't be delocated, when free'ing the given handle,
  1004.         so this is still the task of its owner, then.
  1005.  
  1006.         This will overwrite a previously done SVL_SetWriteScreen() call.
  1007.  
  1008.    INPUT(S)
  1009.  
  1010.         handle - a valid handle
  1011.         buffer - a valid SV_GfxBuffer pointer
  1012.         future - always NULL yet
  1013.  
  1014.    RESULT
  1015.  
  1016.         NULL or an adequate SVERR-Errorcode.
  1017.  
  1018.    WARNING
  1019.  
  1020.         Before V6 the documentation said under FUNCTION :
  1021.         "If also a valid Screen Pointer is supplied, the SV_GfxBuffer
  1022.          is ignored".
  1023.  
  1024.         There's no guarantee for that AND you never should supply
  1025.         TWO Sources for ONE Destination.
  1026.  
  1027.         GfxBuffer-Writing works since V6 with the supplied SVObjects
  1028.         and they do prefer GfxBuffers, NOT Screens.
  1029.         Screens have to be converted into GfxBuffers internally, before
  1030.         they can written, so GfxBuffers should take less memory ...
  1031.         Last not least : This function was broken upto V5, anyway.
  1032.  
  1033.    BUGS
  1034.  
  1035.         This call was broken from V3-5 !
  1036.  
  1037.    SINCE
  1038.  
  1039.         ... version 3 of the superview.library. (request V6+)
  1040.  
  1041.    SEE ALSO
  1042.  
  1043.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1044.  
  1045. -----------------------------------------------------------------------------
  1046.  
  1047.    NAME
  1048.         SVL_DisplayGfxBuffer
  1049.  
  1050.    SYNOPSIS
  1051.  
  1052.         ULONG SVL_DisplayGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  1053.         D0    -$a8                 A1           A2
  1054.  
  1055.                                    ULONG future)
  1056.                                    A3
  1057.  
  1058.  
  1059.    FUNCTION
  1060.  
  1061.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  1062.         has the same effect as a call to SVL_SuperView().
  1063.         But note, that GfxBuffer-functions only work with Version 2
  1064.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  1065.         Internally, the result is the same, anyway.
  1066.  
  1067.         The difference is : Multiple displaying is possible
  1068.         (SVL_DisplayGfxBuffer(), SVL_CloseDisplay(), SVL_DisplayGfxBuffer(),
  1069.          ... and so on).
  1070.  
  1071.         The SV_GfxBuffer still has to be freed the way it has been
  1072.         allocated : - (self-created)     : e.g. SVSUP_FreeGfxBuffer()
  1073.                     - SVL_GetGfxBuffer() : SVL_FreeHandle()
  1074.                     - SVL_DoOperation()  : SVL_FreeHandle()
  1075.  
  1076.  
  1077.    INPUT(S)
  1078.  
  1079.         handle - a valid handle
  1080.         buffer - a valid SV_GfxBuffer pointer
  1081.         future - always NULL yet
  1082.  
  1083.    RESULT
  1084.  
  1085.         NULL or an adequate SVERR-Errorcode.
  1086.  
  1087.    WARNING
  1088.  
  1089.         Prior to V10 it was not possible, to pass any "foreign"
  1090.         pointers to SV_GfxBuffers. This means, "buffer" also had
  1091.         to be the same pointer as the one returned by SVL_GetGfxBuffer(),
  1092.         otherwise the library would have claimed about a missing
  1093.         SVObject-Handle (which wasn't there and therefore not able to
  1094.         manage the display operation in its property of beeing the
  1095.         owner of the GfxBuffer)
  1096.  
  1097.         As with V10, you'll be abled to pass ANY SV_GfxBuffer to this
  1098.         function to get it displayed (you should use a new handle for
  1099.         any additional buffer).
  1100.         This results in a SVDriver-dependent display operation
  1101.         (the only exeception are non-picture Datatypes - if enabled -
  1102.          which will always be displayed without using the SVDrivers,
  1103.          because BOOPSI is needed. Since this is not enabled by default,
  1104.          you may not mind, but anyway: To bypass this, you'd have to
  1105.          use another handle and pass the Datatypes' GfxBuffer to
  1106.          to it, so that e.g. only the first picture of an ANIM would
  1107.          be taken out and displayed. Test it.)
  1108.  
  1109.    SINCE
  1110.  
  1111.         ... version 3 of the superview.library.
  1112.  
  1113.    SEE ALSO
  1114.  
  1115.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1116.  
  1117. -----------------------------------------------------------------------------
  1118.    Functions added with Version 6 :
  1119. -----------------------------------------------------------------------------
  1120.  
  1121.    NAME
  1122.         SVL_GetSVObjectList
  1123.  
  1124.    SYNOPSIS
  1125.  
  1126.         ULONG SVL_GetSVObjectList(struct SVObjectInfo **listhead)
  1127.         D0    -$ae                A1
  1128.  
  1129.    FUNCTION
  1130.  
  1131.         Creates a simplified list of all SVObjects (SubTypes), which
  1132.         may be used for read-only purposes until it has been freed
  1133.         via SVL_FreeSVObjectList.
  1134.  
  1135.    INPUT(S)
  1136.  
  1137.         listhead - a pointer to a SVObjectInfo structure pointer
  1138.  
  1139.    RESULT
  1140.  
  1141.         NULL or an adequate SVERR-Errorcode.
  1142.  
  1143.    BUGS
  1144.  
  1145.         This functions was slightly buggy in V6 versions.
  1146.         The List was not chained right, so that only the last
  1147.         SubType of each SVObject was linked to the list and the rest
  1148.         went to Nirwana, so that there also was a (small) memory loss.
  1149.         This bug has been fixed in V7.
  1150.  
  1151.    SINCE
  1152.  
  1153.         ... version 6 of the superview.library. (request V7+)
  1154.  
  1155.    SEE ALSO
  1156.  
  1157.         SVL_FreeSVObjectList
  1158.  
  1159. -----------------------------------------------------------------------------
  1160.  
  1161.    NAME
  1162.         SVL_GetSVDriverList
  1163.  
  1164.    SYNOPSIS
  1165.  
  1166.         ULONG SVL_GetSVDriverList(struct SVDriverInfo **listhead)
  1167.         D0    -$b4                A1
  1168.  
  1169.    FUNCTION
  1170.  
  1171.         Creates a simplified list of all SVDrivers, which
  1172.         may be used for read-only purposes until it has been freed
  1173.         via SVL_FreeSVDriverList.
  1174.  
  1175.    INPUT(S)
  1176.  
  1177.         listhead - a pointer to a SVDriverInfo structure pointer
  1178.  
  1179.    RESULT
  1180.  
  1181.         NULL or an adequate SVERR-Errorcode.
  1182.  
  1183.    BUGS
  1184.  
  1185.         -
  1186.  
  1187.    SINCE
  1188.  
  1189.         ... version 6 of the superview.library.
  1190.  
  1191.    SEE ALSO
  1192.  
  1193.         SVL_FreeSVDriverList
  1194.  
  1195. -----------------------------------------------------------------------------
  1196.  
  1197.    NAME
  1198.         SVL_FreeSVObjectList
  1199.  
  1200.    SYNOPSIS
  1201.  
  1202.         ULONG SVL_FreeSVObjectList(struct SVObjectInfo *listhead)
  1203.         D0    -$ba                 A1
  1204.  
  1205.    FUNCTION
  1206.  
  1207.         Frees a list returned by SVL_GetSVObjectList.
  1208.  
  1209.         Pass the List-Header, not an entry !
  1210.  
  1211.    INPUT(S)
  1212.  
  1213.         listhead - a pointer to a SVObjectInfo structure
  1214.  
  1215.    RESULT
  1216.  
  1217.         NULL or an adequate SVERR-Errorcode.
  1218.  
  1219.    BUGS
  1220.  
  1221.         -
  1222.  
  1223.    SINCE
  1224.  
  1225.         ... version 6 of the superview.library.
  1226.  
  1227.    SEE ALSO
  1228.  
  1229.         SVL_GetSVObjectList
  1230.  
  1231. -----------------------------------------------------------------------------
  1232.  
  1233.    NAME
  1234.         SVL_FreeSVDriverList
  1235.  
  1236.    SYNOPSIS
  1237.  
  1238.         ULONG SVL_FreeSVDriverList(struct SVDriverInfo *listhead)
  1239.         D0    -$c0                 A1
  1240.  
  1241.    FUNCTION
  1242.  
  1243.         Frees a list returned by SVL_GetSVDriverList.
  1244.  
  1245.         Pass the List-Header, not an entry !
  1246.  
  1247.    INPUT(S)
  1248.  
  1249.         listhead - a pointer to a SVDriverInfo structure
  1250.  
  1251.    RESULT
  1252.  
  1253.         NULL or an adequate SVERR-Errorcode.
  1254.  
  1255.    BUGS
  1256.  
  1257.         -
  1258.  
  1259.    SINCE
  1260.  
  1261.         ... version 6 of the superview.library.
  1262.  
  1263.    SEE ALSO
  1264.  
  1265.         SVL_GetSVDriverList
  1266.  
  1267. -----------------------------------------------------------------------------
  1268.    Functions added with Version 7 :
  1269. -----------------------------------------------------------------------------
  1270.  
  1271.    NAME
  1272.         SVL_RemoveSVObject
  1273.  
  1274.    SYNOPSIS
  1275.  
  1276.         ULONG SVL_RemoveSVObject(struct SVO_ObjectNode *svo_node)
  1277.         D0    -$c6               A1
  1278.  
  1279.    FUNCTION
  1280.  
  1281.         Removes an SVObject from the internal List of SVObjects and tries
  1282.         to remove it from memory.
  1283.  
  1284.         This does only work, if not more than one programm is accessing
  1285.         superview.library and the SVObject.
  1286.  
  1287.         ***
  1288.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1289.         AFTER SUCH AN ACTION !
  1290.         ***
  1291.  
  1292.    INPUT(S)
  1293.  
  1294.         svo_node - a pointer to a SVO_ObjectNode structure
  1295.  
  1296.    RESULT
  1297.  
  1298.         boolean value
  1299.  
  1300.    WARNING
  1301.  
  1302.         This function invalidates the internal SVObject-List of
  1303.         superview.library.
  1304.         Remember to update your personal copies of this list,
  1305.         before accessing any specific SVObjects again
  1306.         (e.g. for Write-Operations).
  1307.  
  1308.    BUGS
  1309.  
  1310.         No bugs known yet.
  1311.         But this function operates "deep in the system", so that
  1312.         there may occur interferences in very special situations
  1313.         (but usuallly should not).
  1314.  
  1315.    SINCE
  1316.  
  1317.         ... version 7 of the superview.library.
  1318.  
  1319.    SEE ALSO
  1320.  
  1321.         SVL_RemoveSVDriver
  1322.  
  1323. -----------------------------------------------------------------------------
  1324.  
  1325.    NAME
  1326.         SVL_RemoveSVDriver
  1327.  
  1328.    SYNOPSIS
  1329.  
  1330.         ULONG SVL_RemoveSVDriver(struct SVD_DriverNode *svd_node)
  1331.         D0    -$cc               A1
  1332.  
  1333.    FUNCTION
  1334.  
  1335.         Removes an SVDriver from the internal List of SVDrivers and tries
  1336.         to remove it from memory.
  1337.  
  1338.         This does only work, if not more than one programm is accessing
  1339.         superview.library and the SVDriver.
  1340.  
  1341.         ***
  1342.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1343.         AFTER SUCH AN ACTION !
  1344.         ***
  1345.  
  1346.    INPUT(S)
  1347.  
  1348.         svd_node - a pointer to a SVD_DriverNode structure
  1349.  
  1350.    RESULT
  1351.  
  1352.         boolean value
  1353.  
  1354.    WARNING
  1355.  
  1356.         This function invalidates the internal SVDriver-List of
  1357.         superview.library.
  1358.         Remember to update your personal copies of this list,
  1359.         before accessing any specific SVDrivers again
  1360.         (e.g. for displaying graphics).
  1361.  
  1362.    BUGS
  1363.  
  1364.         No bugs known yet.
  1365.         But this function operates "deep in the system", so that
  1366.         there may occur interferences in very special situations
  1367.         (but usuallly should not).
  1368.  
  1369.    SINCE
  1370.  
  1371.         ... version 7 of the superview.library.
  1372.  
  1373.    SEE ALSO
  1374.  
  1375.         SVL_RemoveSVObject
  1376.  
  1377. -----------------------------------------------------------------------------
  1378.  
  1379.    NAME
  1380.         SVL_AddSVObject
  1381.  
  1382.    SYNOPSIS
  1383.  
  1384.         ULONG SVL_AddSVObject(UBYTE *name)
  1385.         D0    -$d2            A1
  1386.  
  1387.    FUNCTION
  1388.  
  1389.         Tries to open the specified SVObject (full AmigaDOS-Path) and
  1390.         attempts to add it to the internal Lists.
  1391.  
  1392.         ***
  1393.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1394.         AFTER SUCH AN ACTION !
  1395.         ***
  1396.  
  1397.    INPUT(S)
  1398.  
  1399.         name - full AmigaDOS-Path of the SVObject to add to the lists
  1400.  
  1401.    RESULT
  1402.  
  1403.         boolean value
  1404.  
  1405.    WARNING
  1406.  
  1407.         This function invalidates the internal SVObject-List of
  1408.         superview.library.
  1409.         Remember to update your personal copies of this list,
  1410.         before accessing any specific SVObjects again
  1411.         (e.g. for Write-Operations).
  1412.  
  1413.         Secondly, it is not checked, whether the added Library is
  1414.         _really_ a SVObject.
  1415.         Adding other libraries may result in a damaged internal
  1416.         SVObject-List in superview.library.
  1417.  
  1418.    SINCE
  1419.  
  1420.         ... version 7 of the superview.library.
  1421.  
  1422.    SEE ALSO
  1423.  
  1424.         SVL_AddSVDriver
  1425.  
  1426. -----------------------------------------------------------------------------
  1427.  
  1428.    NAME
  1429.         SVL_AddSVDriver
  1430.  
  1431.    SYNOPSIS
  1432.  
  1433.         ULONG SVL_AddSVDriver(UBYTE *name)
  1434.         D0    -$d8            A1
  1435.  
  1436.    FUNCTION
  1437.  
  1438.         Tries to open the specified SVDriver (full AmigaDOS-Path) and
  1439.         attempts to add it to the internal Lists.
  1440.  
  1441.         ***
  1442.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1443.         AFTER SUCH AN ACTION !
  1444.         ***
  1445.  
  1446.    INPUT(S)
  1447.  
  1448.         name - full AmigaDOS-Path of the SVDriver to add to the lists
  1449.  
  1450.    RESULT
  1451.  
  1452.         boolean value
  1453.  
  1454.    WARNING
  1455.  
  1456.         This function invalidates the internal SVDriver-List of
  1457.         superview.library.
  1458.         Remember to update your personal copies of this list,
  1459.         before accessing any specific SVDrivers again
  1460.         (e.g. for displaying graphics).
  1461.  
  1462.         Secondly, it is not checked, whether the added Library is
  1463.         _really_ a SVDriver.
  1464.         Adding other libraries may result in a damaged internal
  1465.         SVDriver-List in superview.library.
  1466.  
  1467.    SINCE
  1468.  
  1469.         ... version 7 of the superview.library.
  1470.  
  1471.    SEE ALSO
  1472.  
  1473.         SVL_AddSVObject
  1474.  
  1475. -----------------------------------------------------------------------------
  1476.    Functions added with Version 8 :
  1477. -----------------------------------------------------------------------------
  1478.  
  1479.    NAME
  1480.         SVL_GetFileType
  1481.  
  1482.    SYNOPSIS
  1483.  
  1484.         ULONG SVL_GetFileType(APTR handle, char *filename, ULONG *filetype)
  1485.         D0    -$de            A1           A2              A3
  1486.  
  1487.    FUNCTION
  1488.  
  1489.         Finds out superview-specific FileType-Code
  1490.         (redefined with every re-initialization of the Library) or
  1491.         SV_FILE_TYPE_UNKNOWN (== NULL == FALSE).
  1492.  
  1493.         Use the following call for a simple check :
  1494.  
  1495.         handle   = SVL_AllocHandle(N);
  1496.         sverr    = SVL_GetFileType(handle, filename, &filetype);
  1497.                    SVL_FreeHandle(handle);
  1498.  
  1499.         This handle should NOT be used for any further operations
  1500.         on the file (will be opened and checked twice but only
  1501.         closed once, etc).
  1502.         Initialization operations are allowed nevertheless
  1503.         (e.g. SVL_InitHandleAsClip() ).
  1504.  
  1505.         Note, that this function fills in FILETYPES, not SUBTYPES.
  1506.         For e.g. writing you must specify SUBTYPES
  1507.         (ILBM-0, ILBM-1 or GIF87, GIF89a).
  1508.  
  1509.         FILETYPES are only for short identification and do only
  1510.         specify the global file type (ILBM, GIF, PCX).
  1511.  
  1512.    INPUT(S)
  1513.  
  1514.         handle   - a valid handle
  1515.         filename - a valid AmigaDOS FilePath and -Name
  1516.         filetype - pointer to ULONG for SV_FILETYPE-Value
  1517.  
  1518.    RESULT
  1519.  
  1520.         NULL or an adequate SVERR-Errorcode.
  1521.  
  1522.    SINCE
  1523.  
  1524.         ... version 8 of the superview.library.
  1525.  
  1526.    SEE ALSO
  1527.  
  1528.         SVL_AllocHandle(), SVL_FreeHandle()
  1529.  
  1530. -----------------------------------------------------------------------------
  1531.    Functions added with Version 9-10 :
  1532. -----------------------------------------------------------------------------
  1533.  
  1534.    NAME
  1535.         SVL_DoOperation
  1536.  
  1537.    SYNOPSIS
  1538.  
  1539.         ULONG SVL_DoOperation(APTR handle, struct SV_GfxBuffer *source,
  1540.         D0    -$e4            A1           A2
  1541.  
  1542.                               struct SV_GfxBuffer **dest,
  1543.                               A3
  1544.  
  1545.                               struct SVOperatorNode *operator, APTR future);
  1546.                               D2                               D3
  1547.  
  1548.  
  1549.    FUNCTION
  1550.  
  1551.         handle   = SVL_AllocHandle(N);
  1552.         sverr    = SVL_DoOperation( ... );
  1553.                    SVL_FreeHandle(handle);
  1554.  
  1555.         This function allows to do any available operations (via SVOperators)
  1556.         on a given SV_GfxBuffer.
  1557.  
  1558.         The Source buffer is not touched this way, but a new buffer will
  1559.         be allocated instead.
  1560.         The pointer of the new buffer is returned by writing it to a given
  1561.         pointer variable or may be examined by calling SVL_GetGfxBuffer()
  1562.         also.
  1563.  
  1564.    INPUT(S)
  1565.  
  1566.         handle   - a valid handle
  1567.         source   - a SV_GfxBuffer to be used as "source"
  1568.         dest     - a pointer to a pointer for the "destination" SV_GfxBuffer
  1569.         operator - an SVOperator description, as found in the internal
  1570.                    list of SuperViewBase
  1571.         future   - always NULL yet
  1572.  
  1573.    RESULT
  1574.  
  1575.         NULL or an adequate SVERR-Errorcode.
  1576.  
  1577.    SINCE
  1578.  
  1579.         ... version 9 of the superview.library.
  1580.  
  1581.    SEE ALSO
  1582.  
  1583.         SVL_AllocHandle(), SVL_FreeHandle(), SVL_GetGfxBuffer()
  1584.  
  1585. -----------------------------------------------------------------------------
  1586.  
  1587.    NAME
  1588.         SVL_GetSVOperatorList
  1589.  
  1590.    SYNOPSIS
  1591.  
  1592.         ULONG SVL_GetSVOperatorList(struct SVOperatorInfo **listhead)
  1593.         D0    -$ea                  A1
  1594.  
  1595.    FUNCTION
  1596.  
  1597.         Creates a simplified list of all SVOperators, which
  1598.         may be used for read-only purposes until it has been freed
  1599.         via SVL_FreeSVOperatorList.
  1600.  
  1601.    INPUT(S)
  1602.  
  1603.         listhead - a pointer to a SVOperatorInfo structure pointer
  1604.  
  1605.    RESULT
  1606.  
  1607.         NULL or an adequate SVERR-Errorcode.
  1608.  
  1609.    BUGS
  1610.  
  1611.         -
  1612.  
  1613.    SINCE
  1614.  
  1615.         ... version 9 of the superview.library.
  1616.  
  1617.    SEE ALSO
  1618.  
  1619.         SVL_FreeSVOperatorList
  1620.  
  1621. -----------------------------------------------------------------------------
  1622.  
  1623.    NAME
  1624.         SVL_FreeSVOperatorList
  1625.  
  1626.    SYNOPSIS
  1627.  
  1628.         ULONG SVL_FreeSVOperatorList(struct SVOperatorInfo *listhead)
  1629.         D0    -$f0                   A1
  1630.  
  1631.    FUNCTION
  1632.  
  1633.         Frees a list returned by SVL_GetSVOperatorList.
  1634.  
  1635.         Pass the List-Header, not an entry !
  1636.  
  1637.    INPUT(S)
  1638.  
  1639.         listhead - a pointer to a SVOperatorInfo structure
  1640.  
  1641.    RESULT
  1642.  
  1643.         NULL or an adequate SVERR-Errorcode.
  1644.  
  1645.    BUGS
  1646.  
  1647.         -
  1648.  
  1649.    SINCE
  1650.  
  1651.         ... version 9 of the superview.library.
  1652.  
  1653.    SEE ALSO
  1654.  
  1655.         SVL_GetSVOperatorList
  1656.  
  1657. -----------------------------------------------------------------------------
  1658.  
  1659.    NAME
  1660.         SVL_RemoveSVOperator
  1661.  
  1662.    SYNOPSIS
  1663.  
  1664.         ULONG SVL_RemoveSVOperator(struct SVP_OperatorNode *svp_node)
  1665.         D0    -$f6                 A1
  1666.  
  1667.    FUNCTION
  1668.  
  1669.         Removes an SVOperator from the internal List of SVOperators and
  1670.         tries to remove it from memory.
  1671.  
  1672.         This does only work, if not more than one programm is accessing
  1673.         superview.library and the SVOperator.
  1674.  
  1675.         ***
  1676.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOPERATOR-LISTS
  1677.         AFTER SUCH AN ACTION !
  1678.         ***
  1679.  
  1680.    INPUT(S)
  1681.  
  1682.         svp_node - a pointer to a SVP_OperatorNode structure
  1683.  
  1684.    RESULT
  1685.  
  1686.         boolean value
  1687.  
  1688.    WARNING
  1689.  
  1690.         This function invalidates the internal SVOperator-List of
  1691.         superview.library.
  1692.         Remember to update your personal copies of this list,
  1693.         before accessing any specific SVOperators again.
  1694.  
  1695.    BUGS
  1696.  
  1697.         No bugs known yet.
  1698.         But this function operates "deep in the system", so that
  1699.         there may occur interferences in very special situations
  1700.         (but usuallly should not).
  1701.  
  1702.    SINCE
  1703.  
  1704.         ... version 9 of the superview.library.
  1705.  
  1706.    SEE ALSO
  1707.  
  1708.         SVL_RemoveSVOperator
  1709.  
  1710. -----------------------------------------------------------------------------
  1711.  
  1712.    NAME
  1713.         SVL_AddSVOperator
  1714.  
  1715.    SYNOPSIS
  1716.  
  1717.         ULONG SVL_AddSVOperator(UBYTE *name)
  1718.         D0    -$fc              A1
  1719.  
  1720.    FUNCTION
  1721.  
  1722.         Tries to open the specified SVOperator (full AmigaDOS-Path) and
  1723.         attempts to add it to the internal Lists.
  1724.  
  1725.         ***
  1726.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOPERATOR-LISTS
  1727.         AFTER SUCH AN ACTION !
  1728.         ***
  1729.  
  1730.    INPUT(S)
  1731.  
  1732.         name - full AmigaDOS-Path of the SVObject to add to the lists
  1733.  
  1734.    RESULT
  1735.  
  1736.         boolean value
  1737.  
  1738.    WARNING
  1739.  
  1740.         This function invalidates the internal SVOperator-List of
  1741.         superview.library.
  1742.         Remember to update your personal copies of this list,
  1743.         before accessing any specific SVOperators again.
  1744.  
  1745.         Secondly, it is not checked, whether the added Library is
  1746.         _really_ a SVOperator.
  1747.         Adding other libraries may result in a damaged internal
  1748.         SVOperator-List in superview.library.
  1749.  
  1750.    SINCE
  1751.  
  1752.         ... version 9 of the superview.library.
  1753.  
  1754.    SEE ALSO
  1755.  
  1756.         SVL_AddSVOperator
  1757.  
  1758. -----------------------------------------------------------------------------
  1759.  
  1760.  
  1761.